Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units (I/O modules), disk drives, and disk interface units (disk adapters). Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass. and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek, which are incorporated herein by reference. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data stored therein.
A hypervisor is a software implementation that may provide a software virtualization environment in which other software may run with the appearance of having full access to the underlying system hardware, but in which such access is actually under the complete control of the hypervisor. The software running in such a hypervisor managed environment may execute within a virtual machine (VM) and multiple VMs may be managed simultaneously by a hypervisor. Hypervisors may generally be classed as type 1 or type 2, depending on whether the hypervisor is running in a supervisor mode on “bare metal” (type 1) or is itself hosted by an operating system (OS) (type 2). A bare metal environment describes a computer system in which a VM is installed directly on hardware rather than within a host OS. ESX and ESXi, produced by VMware, Inc. of Palo Alto, Calif., are examples of bare-metal hypervisors that may run directly on server hardware without requiring an additional underlying operating system. For discussions of the use of known hypervisors (or “virtual machine monitors”) in virtualized computing environments, see, for example, U.S. Pat. No. 7,665,088 to Bugnion et al., entitled “Context-Switching to and from a Host OS in a Virtualized Computer System”; U.S. Pat. No. 7,743,389 to Mahalingam et al., entitled “Selecting Between Pass-Through and Emulation in a Virtual Machine Environment”; and U.S. Pat. No. 7,945,436 to Ang et al., entitled “Pass-Through and Emulation in a Virtual Machine Environment”, which are all assigned to VMware, Inc. and which are all incorporated herein by reference. Although the term “hypervisor” is principally used herein, this term should be understood herein to refer to any appropriate software layer having the described features and functions discussed herein.
Techniques are known in storage systems to provide failover capability and recovery operations that involve use of journaling devices that are used to track and log storage operations. Reference is made, for example, to U.S. Pat. No. 7,558,926 to Oliveira et al., entitled “Continuous Data Backup Using Distributed Journaling” and U.S. Pat. No. 7,599,951 to Oliveira et al., entitled “Continuous Data Backup,” which are both assigned to EMC Corporation of Hopkinton, Mass. and are both incorporated herein by reference, and which disclose various techniques for providing continuous storage backup of storage data using journaling devices. In some circumstances, it is noted that the journaling devices may act as performance bottlenecks and that recovering from failures using such journaling devices may, in some situations, take significant amounts of time. Additionally, the use of additional hardware and/or other installed devices to support journaling processing to support failover and recovery capability may result in additional costs.
Accordingly, it would be desirable to provide a system and techniques for enabling efficient use of resources in connection with journaling, failover and recovery capabilities, particularly in connection with storage systems.